package xyz.zq.cloud.bs.api.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * app配置
 * </p>
 *
 * @author hzq
 * @since 2020-05-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sys_app")
public class App extends Model<App> {

    private static final long serialVersionUID=1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * logo(附件id)
     */
    private Integer appLogo;

    /**
     * 二维码（附件id）
     */
    private Integer appQrCode;

    /**
     * 名称
     */
    private String appName;

    /**
     * 原始id
     */
    private String appOriginalId;

    /**
     * 类型（1微信公众号2微信小程序）
     */
    private Integer appType;

    /**
     * 应用id
     */
    private String appId;

    /**
     * 应用秘钥
     */
    private String appSecret;

    /**
     * token（公众号/小程序）
     */
    private String appToken;

    /**
     * 公众号ticket(js-sdk使用)
     */
    private String appTicket;

    /**
     * 小程序的EncodingAESKey
     */
    private String appAesKey;

    /**
     * 公众号权限域名
     */
    private String appDomainName;

    /**
     * 公众号授权验证文件地址
     */
    private String appValidatePath;

    /**
     * 公众号同步回调地址
     */
    private String appRedirectUrl;

    /**
     * 公众号支付异步回调地址
     */
    private String appNotifyUrl;

    /**
     * 支付商户号
     */
    private String appMchId;

    /**
     * 支付商户密匙
     */
    private String appMchKey;

    /**
     * 支付证书地址
     */
    private String appCertificatePath;

    /**
     * 消息格式(xml/json)
     */
    private String appDataFormat;

    /**
     * 是否启用（1已启用0未启用）
     */
    private Integer enabled;

    /**
     * 是否锁定（1已锁定0未锁定）
     */
    private Integer locked;

    /**
     * 是否过期（1已过期0未过期）
     */
    private Integer expired;

    /**
     * 版本
     */
    private Integer version;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    private LocalDateTime updateTime;

    /**
     * 是否删除（1已删除0未删除）
     */
    private Integer del;

    /**
     * 租户id
     */
    private Integer companyId;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
